/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package beancomentarios.editor;

import beancomentarios.editor.action.ActionCopiar;
import beancomentarios.editor.action.ActionCortar;
import beancomentarios.editor.action.ActionPegar;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

/**
 * Panel que muestra un editor donde poder escribir los comentarios y añade
 * las acciones básicas de copiar, cortar y pegar
 * @author Miguel González - Ceura
 */
public class Editor extends JPanel {
    
    private JTextArea txtComentario;
    
    /**
     * Constructor por defecto del panel que se encarga de inicializar los objetos
     */
    public Editor() {
        super();
        setLayout(new BorderLayout());
        
        txtComentario = new JTextArea();
        txtComentario.setRows(6);
        
        JPanel panelAcciones = new JPanel();
        panelAcciones.setLayout(new FlowLayout(FlowLayout.LEFT));
        JButton btnCortar = new JButton(new ActionCortar(txtComentario));
        btnCortar.setBorder(null);
        btnCortar.setOpaque(true);
        JButton btnCopiar = new JButton(new ActionCopiar(txtComentario));
        btnCopiar.setBorder(null);
        JButton btnPegar = new JButton(new ActionPegar(txtComentario));
        btnPegar.setBorder(null);
        panelAcciones.add(btnCortar);
        panelAcciones.add(btnCopiar);
        panelAcciones.add(btnPegar);
        add(panelAcciones, BorderLayout.NORTH);
        
        
        JScrollPane scrollPane = new JScrollPane(txtComentario);
        add(scrollPane, BorderLayout.CENTER);
    }
    
    /**
     * Devuelve el texto escrito
     * @return String texto
     */
    public String getTexto() {
        return txtComentario.getText();
    }
    
    /**
     * Establece el texto que aparecerá como escrito
     * @param texto String
     */
    public void setText(String texto) {
        txtComentario.setText(texto);
    }
}
